package com.jr.mapper;

import com.jr.entry.Enterprise;
import com.jr.entry.Posts;
import com.jr.entry.User;
import com.jr.pojo.EnterprisePostList;
import com.jr.pojo.HighSalInformation;
import com.jr.pojo.MyPosts;
import com.jr.pojo.UserAndPos;
import javafx.geometry.Pos;
import org.apache.ibatis.session.RowBounds;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.Map;

@Component
public interface PostsMapper {
    /**
     * 我的职位页面，职位显示
     * @return
     */
    ArrayList<MyPosts> selectUserAndPost(Map<String, Object> params, RowBounds rowBounds);

    /**
     * 按照工资多少查找企业与职位名
     * @return
     */
    ArrayList<HighSalInformation> selectHighSalInformation();

    /**
     * 根据职业ID查询出所有职业信息
     * @param posts
     * @return
     */
    ArrayList<Posts> selectPost(Posts posts);

    /**
     * 根据职位名称查职位
     * @param posts
     * @return
     */
    ArrayList<Posts> selectPostByName(Posts posts);

    /**
     * 查所有职位或按名称查，用于首页职位查询
     * @return
     */
    ArrayList<MyPosts> selectAllPosts(String pname, RowBounds rowBounds);

    /**
     * 根据企业查找企业招聘的职位信息，用于企业职位显示
     * @param enterprise
     * @return
     */
    ArrayList<EnterprisePostList> selectEnterprisePostList(Enterprise enterprise);

    /**
     * 根据职位名查找职务信息
     * @param pname
     * @return
     */
    Posts selectPotsByPname(String pname);
    /**
     * 查看用户是否对该职位进行申请
     * @return
     */
     Boolean astatus(Map<String, Object> params);


     /**
     * 在单个职务展示界面
     * 添加申请关系
     * @return
     */
     Boolean addastatus(Map<String, Object> params);

    /**
     * 根据用户电话查用户id
     * @return
     */
     Integer selectId(String phone);

    /**
     * 查询个数方法：
     * @param params 查看一共查到多少信息查的是mypots的个数
     * @return
     */
    Integer countAllPosts(Map<String, Object> params);

    Integer countAllPosts1(Map<String, Object> params);
}
